package com.hd123.rumba.gwt.widget.client.grid;

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface DxGridDataProvider {
  /**
   * @param row
   *          当前页内行, 从0开始
   * @param col ��
   * @return
   */
  String getData(int row, int col);

  /**
   * @return 当前页的行数. 最后一页的行数会小于getPageSize()
   */
  int getRowCount();

  int getColumnCount();

  /**
   * @param page
   * @param callback
   *          由DxNavigator创建的, 用以刷新表格并改变其导航条内容. onSuccess(Boolean.TRUE)表示要刷新表格,
   *          onSuccess(Boolean.FALSE)表示不要刷新表格.
   */
  void fetch(int page, AsyncCallback callback);

  int getTotalCount();

  int getPageCount();

  int getCurrentPage();

  int getPageSize();

  void setPageSize(int pageSize);

}
